package yl.hs.bmipfull.daos.host;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import yl.hs.bmipfull.daos.BaseDao;
import yl.hs.bmipfull.pojo.host.ProductionLineRawConfigEntity;

import java.util.List;
import java.util.Map;

/**
 * 作用:  生产线主机原材仓位对应设置持久层接口<br/>
 * 创建时间: 2021年06月28日 14时45分23秒 <br/>
 *
 * @author 谢东
 */
@Repository
public interface IProductionLineRawConfigDao extends BaseDao<ProductionLineRawConfigEntity> {


    /**
     * 分页查询生产线主机原材仓位对应设置信息
     *
     * @param map 查询条件 {@link ProductionLineRawConfigEntity}
     * @return 生产线主机原材仓位对应设置信息-List<{@link ProductionLineRawConfigEntity}>
     */
    List<ProductionLineRawConfigEntity> queryPage(@Param("map") Map<String, Object> map);

    /**
     * 根据查询条件统计数据数量
     *
     * @param map 查询条件
     * @return 数据数量
     */
    Integer queryCountByCondition(@Param("map") Map<String, Object> map);



    /**
     * 根据生产线编号删除生产线主机原材仓位对应设置信息
     *
     * @param plSN 生产线编号
     * @return 受影响行数
     */
    Integer deleteByPlSN(String plSN);

    /**
     * 根据生产线编号查询生产线主机原材仓位对应设置信息
     *
     * @param plSN 生产线编号
     * @return 生产线主机原材仓位对应设置信息
     */
    List<ProductionLineRawConfigEntity> getListByPlSN(String plSN);

    /**
     * 根据产品类型获取生产线原材配置信息
     * @param productCateSn 产品类型
     * @return 主机原材配置
     */
    List<ProductionLineRawConfigEntity> queryByProductCateSn(String productCateSn);
}